_f_a_c_t_o_r Specifies a multiplier for each bit in the line stipple pattern.
If _f_a_c_t_o_r is 3, for example, each bit in the pattern is used
three times before the next bit in the pattern is used. _f_a_c_t_o_r
is clamped to the range [1, 256] and defaults to 1.
_p_a_t_t_e_r_n Specifies a 16-bit integer whose bit pattern determines which
fragments of a line will be drawn when the line is rasterized.
Bit zero is used first; the default pattern is all 1's.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
Line stippling masks out certain fragments produced by rasterization;
those fragments will not be drawn. The masking is achieved by using
three parameters: the 16-bit line stipple pattern _p_a_t_t_e_r_n, the repeat
count _f_a_c_t_o_r, and an integer stipple counter s.
Counter s is reset to 0 whenever ggggllllBBBBeeeeggggiiiinnnn is called, and before each line
segment of a ggggllllBBBBeeeeggggiiiinnnn(GGGGLLLL____LLLLIIIINNNNEEEESSSS)/ggggllllEEEEnnnndddd sequence is generated. It is
incremented after each fragment of a unit width aliased line segment is
generated, or after each i fragments of an i width line segment are
generated. The i fragments associated with count s are masked out if
_p_a_t_t_e_r_n bit (s / factor) mod 16
is 0, otherwise these fragments are sent to the frame buffer. Bit zero
of _p_a_t_t_e_r_n is the least significant bit.
Antialiased lines are treated as a sequence of 1xwidth rectangles for
purposes of stippling. Whether rectagle s is rasterized or not depends
on the fragment rule described for aliased lines, counting rectangles
rather than groups of fragments.
To enable and disable line stippling, call ggggllllEEEEnnnnaaaabbbblllleeee and ggggllllDDDDiiiissssaaaabbbblllleeee with
argument GGGGLLLL____LLLLIIIINNNNEEEE____SSSSTTTTIIIIPPPPPPPPLLLLEEEE. When enabled, the line stipple pattern is
applied as described above. When disabled, it is as if the pattern were
all 1's. Initially, line stippling is disabled.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllLLLLiiiinnnneeeeSSSSttttiiiipppppppplllleeee is executed between
the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.